Scalable UI testing solutions
一言で表すと
どうやってUIテストを簡単に書くか
概要
Configuration change
Espressoに新しいAPIが追加された
ScreenOrientationRuleで画面回転をエミュレートできる
setClosedMode()やsetFlatMode()で折りたたみスマホの状態も再現できる
折りたたみスマホ以外だと失敗する
@RequiresDeviceModeを指定すると、指定したモードに対応していないデバイスではテストをスキップする
Gradle Managed Devices
gradleからデバイスを指定してテストを開始できる
複数のデバイスをグループ化して一度にテストできるようになった
金かかるから注意してね
Screenshot testing
リファレンス画像と比較して、変わっていなかったらテストをパスする、変わっていたらスクリーンショットを新しいリファレンス画像として受け入れるか、コードを修正する
AGP 8.2でandroid studioのPreviewをスクリーンショットテストとして使えるようにする
スクリーンショットテストを開始する
screenshotTestディレクトリを作成する
その中で、@Preview Composableを作成する
./gradlew debugScreenshotTest --record-reference-imagesを実行して、リファレンス画像を保存する
./gradlew debugScreenshotTestでテストできる
テストはPC上で行われ、実機やエミュレータを用意する必要はない
Mori Atsushi.icon 死ぬほど便利じゃん
Mori Atsushi.icon CI上でどう組み合わせるか気になる
気になるポイント
メモ
コメント